package com.mini.grpc.stream;

/**
 * 流观察者接口
 * 用于处理流式RPC调用的响应
 * 
 * @param <T> 消息类型
 * @author Mini-gRPC
 */
public interface StreamObserver<T> {
    
    /**
     * 接收到下一个值时调用
     * 
     * @param value 接收到的值
     */
    void onNext(T value);
    
    /**
     * 发生错误时调用
     * 
     * @param t 错误信息
     */
    void onError(Throwable t);
    
    /**
     * 流完成时调用
     * 表示不会再有更多的值
     */
    void onCompleted();
} 